package interfaces.lunchy;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public interface DAO {
	
	static public final String CHECKED_CLIENT = "CHECKED_CLIENT";
	static public final String DEAD_LINE = "DEAD_LINE";
	static public final String FLAG_UPDATE = "FLAG_UPDATE";
	static public final String MAX_SUM_PRICE = "MAX_SUM_PRICE";
	static public final String TIME_ORDER = "TIME_ORDER";
	static public final String ORGANIZATION = "ORGANIZATION";
	static public final String PHONE = "PHONE";
	static public final String MAX_AVG_PRICE = "MAX_AVG_PRICE";
	static public final String SALE_PRICE = "SALE_PRICE";

	public void addCategory(String nameCategory) throws Exception;
	
	public void clearOrder(Order order) throws Exception;

	public boolean deleteCategory(String nameCategory) throws Exception;
	
	public Category getCategory (String nameCategory) throws Exception;
	
	public List<String> getListCategoryMenu() throws Exception;
	
	public LunchMenu getMenu() throws Exception;
	
	public String getNameActiveClient() throws Exception;
	
	public Order getOrder(String nameClient) throws Exception;
	
	public String getProperty(String key) throws Exception;
	
	public void setFlagUpdate(String flagUpdate) throws Exception;
	
	public String getFlagUpdate() throws Exception;
	
	public List<String> loadListClient() throws Exception;
	
	public boolean saveListClient(List<String> listClient) throws Exception;
	
	public void saveMenu(LunchMenu menu) throws Exception;
	
	public void saveOrder(Order order) throws Exception;
	
	public void setNameActiveClient(String nameClient) throws Exception;
	
	public void setProperty(String key, String value) throws Exception;
	
}
